package importadodebookworm;

import java.util.LinkedList;

import excecoes.NaoConseguiuObterResenhasDaRevishException;



/**
 * defines all methods that access the Revish API
 * @author Mina
 *
 */
public interface InterfaceGetBookReviewData 
{
	
	/**
	 * The function below retrieves just a few book reviews from Revish API.
	 * The searchArguments are used with the corresponding values to do the retrieving.
	 * For example: if i want a book from author "Stephenie Meyer", i will call this
	 * function with the searchArgument = "author" and value = "Stephenie Meyer"
	 * @param searchArguments
	 * @param argumentsValue
	 * @return
	 */
	public LinkedList<Review> getBookReviewsFromRevishAPI(LinkedList<String> searchArguments, LinkedList<String> argumentsValue) throws NaoConseguiuObterResenhasDaRevishException;
	
	
	/**
	 * 
	 * we use the method below 
	 * because the API limits our search for book reviews in 20 results at a maximum by default.
	 * Sometimes We want more than 20 reviews.
	 * @param tag
	 * @return
	 */
	public LinkedList<Review> getAllBookReviewsFromRevishAPI(LinkedList<String> searchArguments, LinkedList<String> argumentsValue) throws NaoConseguiuObterResenhasDaRevishException;
	
	
}
